package com.zmzncs.lmtc.module.customer.pojo.card_record;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.sql.Time;
import java.util.Date;

/**
 * <p>
 * 客户-会员卡购买记录
 * </p>
 *
 * @author 任建波
 * @since 2020-09-02
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("cust_card_record")
@ApiModel(value="CardRecord对象", description="客户-会员卡购买记录")
public class CardRecord implements Serializable {

    private static final long serialVersionUID=1L;

    @ApiModelProperty(value = "id")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "会员卡id")
    private Long cardId;

    @ApiModelProperty(value = "订单号")
    private String orderCode;

    @ApiModelProperty(value = "手机号")
    private String mobilePhone;

    @ApiModelProperty(value = "卡类型（1：月卡，2：时长卡 ，4：充值，100：白天卡-月租，101：白天卡-季租，102：白天卡年租，110：夜间卡-月租，102：夜间卡-季租103：夜间卡-年租）")
    private Integer cardType;

    @ApiModelProperty(value = "客户id")
    private Long customerId;

    @ApiModelProperty(value = "车牌号")
    private String carNumber;

    @ApiModelProperty(value = "优惠券id", required = true)
    private Long ticketId;

    @ApiModelProperty(value = "支付状态（0：待支付，1：已支付，2：取消支付）")
    private Integer payStatus;

    @ApiModelProperty(value = "应收金额")
    private BigDecimal receivableAmount;

    @ApiModelProperty(value = "支付金额")
    private BigDecimal paidAmount;

    @ApiModelProperty(value = "时长（小时）")
    private Integer duration;

    @ApiModelProperty(value = "月租卡开始时间")
    private Date beginTime;

    @ApiModelProperty(value = "月租卡到期时间")
    private Date expireTime;

    @ApiModelProperty(value = "月租类型（1：月付，2：季付，3：年付）")
    private Integer monthRentType;

    @ApiModelProperty(value = "中萌停车场月租类型（1：全天年卡，2：全天季卡，4：全天月卡，100：白天月卡，110：夜间月卡）")
    private Integer uniformRentType;

    @ApiModelProperty(value = "定制卡优惠比列")
    private BigDecimal customizeCardRate;

    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @ApiModelProperty(value = "停车场来源")
    private Integer parkSource;

    @ApiModelProperty(value = "白天卡/夜间卡每天开始时间")
    private Time dayBeginTime;

    @ApiModelProperty(value = "白天卡/夜间卡每天结束时间")
    private Time dayEndTime;

}
